# Import library that will be useful for the mapping and analysis
import numpy as np
import pandas as pd
import folium
from geopy.geocoders import Nominatim
# Define the map of Australia using geolocator
address = 'Australia'
geolocator = Nominatim(user_agent="map_explorer")
location = geolocator.geocode(address)
latitude = location.latitude
longitude = location.longitude
print('The geograpical coordinate of Australia is {}, {}.'.format(latitude, longitude))
# Draw the map of Australia
Australia = folium.Map(location=[-24.776, 134.755], zoom_start = 4)
# display the map
Australia
# Zoom in to Melbourne
Melbourne = folium.Map(location=[-37.814, 144.9632], zoom_start = 10)
# display the map
Melbourne
# Open the Suburbs of Victoria file
Victoria = pd.read_csv("Victoria.csv")
Victoria.drop(['Unnamed: 0'], axis=1, inplace = True)
Victoria.head()
# Add markers to map
for lat, lng, suburb, postcode in zip(Victoria['Latitude'], Victoria['Longitude'], Victoria['Suburb'], Victoria['Postcode']):
label = '{}, {}'.format(postcode, suburb)
label = folium.Popup(label, parse_html=True)
folium.CircleMarker(
[lat, lng],
radius=5,
popup=label,
color='blue',
fill=True,
fill_color='#3186cc',
fill_opacity=0.7,
parse_html=False).add_to(Melbourne)
Melbourne
import os
import json
import requests
url = 'https://raw.githubusercontent.com/python-visualization/folium/master/examples/data'
vis1 = json.loads(requests.get(f'{url}/vis1.json').text)
vis2 = json.loads(requests.get(f'{url}/vis2.json').text)
vis3 = json.loads(requests.get(f'{url}/vis3.json').text)
# Add popup marker on the map
m = folium.Map(
location=[-37.814, 144.9632],
zoom_start=13
)
folium.Marker(
location=[-37.813, 144.961],
popup=folium.Popup(max_width=450).add_child(
folium.Vega(vis1, width=450, height=250))
).add_to(m)
folium.Marker(
location=[-37.809, 144.947],
popup=folium.Popup(max_width=450).add_child(
folium.Vega(vis2, width=450, height=250))
).add_to(m)
folium.Marker(
location=[-37.8180, 144.944],
popup=folium.Popup(max_width=450).add_child(
folium.Vega(vis3, width=450, height=250))
).add_to(m)
m